1. Field of the Invention
The present invention relates to an image forming apparatus which improves, for example, graphics processing of a virtual machine.
2. Description of the Related Art
Recently, embedded devices such as a smartphone, tablet terminal, and image forming apparatus have implemented user-friendly operability (to be referred to as a rich operation hereinafter). To implement the rich operation, a high frame rate is needed.
A virtual machine is being introduced into such an embedded device as an execution environment independent of hardware and software such as an operating system, in order to execute codes described in a programming language such as Java®. Some virtual machines allow installation of application software (to be referred to as an application hereinafter). This contributes to high-value added embedded devices.
However, even an application running on the virtual machine needs to implement a rich operation which is executed in accordance with, for example, a gesture made on a touch panel while its operation contents are presented with a high expression using an animation or the like. For this purpose, a GPU (Graphics Processor Unit) is used by the virtual machine to efficiently composite a rendering region (see Japanese Patent Laid-Open No. 2006-171274).
The utilization of the GPU generally improves the display processing ability to increase the frame rate of display processing and decrease the load on a CPU (Central Processing Unit).
To implement rendering processing, a graphics library, which abstracts the GPU and its driver, is normally used. A virtual machine mounted in an embedded device also generally runs in an environment where a combination of specific graphics libraries is provided. When the graphics library is used, rendering processing can be easily implemented. However, a rendering instruction may be issued without considering the GPU characteristics, or calculation not always necessary for the virtual machine may be performed in the graphics library. In such a case, the performance of the GPU cannot be maximized owing to an increase in communication between the CPU and the GPU, and an increase in CPU load arising from an increase in calculation amount.